package org.fioma.tree.suffixTree.bytes;

import org.fioma.tree.bytes.SimpleInternalNodeBytes;
import org.fioma.tree.suffixTree.InternalSuffixNode;

public class InternalSuffixNodeBytes extends SimpleInternalNodeBytes<InternalSuffixNodeBytes, LeafSuffixNodeBytes> implements
		InternalSuffixNode<byte[], InternalSuffixNodeBytes, LeafSuffixNodeBytes> {

	InternalSuffixNodeBytes suffixLink;

	public InternalSuffixNodeBytes(InternalSuffixNodeBytes parent, byte[] label) {
		super(parent, label);
	}

	@Override
	public InternalSuffixNodeBytes getSuffixLink() {
		return suffixLink;
	}

	@Override
	public void setSuffixLink(InternalSuffixNodeBytes suffixLink) {
		this.suffixLink = suffixLink;
	}

	@Override
	public InternalSuffixNodeBytes createInternalNode(byte[] word) {
		return new InternalSuffixNodeBytes(this, word);
	}

	@Override
	public LeafSuffixNodeBytes createLeaf(byte[] word) {
		return new LeafSuffixNodeBytes(this, word);
	}

}
